/*****************************************************************************//*!
* file  : user_key.c
* creat : apleilx
* data  : 2017/03/02
*******************************************************************************/
#include "com_obj.h" 
#include "common.h" 
#include "tjch_api.h"
#include "dataproc.h"

static const uu8 _tail[4] = {0xFF, 0xFF, 0xFF, 0xFF};

/*******************************************************************************
* @brief  gui send tail
* \param[in] none
* \retval: none
*******************************************************************************/
void gui_tail(com_obj_type *port)
{
	port->fun->cycle_snd_data(_tail, 3);
}

/*******************************************************************************
* @brief  gui send txt
* \param[in] port : com port
* \param[in] name : control name
* \param[in] str  : value
* \retval: none
*******************************************************************************/
void gui_txt_set(com_obj_type *port, const char *name, const char *str)
{
	port->fun->cycle_snd_string((uu8 *)name);
	port->fun->cycle_snd_byte('=');
	port->fun->cycle_snd_byte('\"');
	port->fun->cycle_snd_string((uu8 *)str);
	port->fun->cycle_snd_byte('\"');
	gui_tail(port);
}

/*******************************************************************************
* @brief  gui send numb
* \param[in] port : com port
* \param[in] name : control name
* \param[in] num  : value
* \retval: none
*******************************************************************************/
void gui_num_set(com_obj_type *port, const char *name, int32_t num)
{
	uint8_t num_str[10];
	
	i32_to_string(num_str, num, 0x80, 0x03);
	port->fun->cycle_snd_string((uu8 *)name);
	port->fun->cycle_snd_byte('=');
	port->fun->cycle_snd_string((uu8 *)num_str);
	gui_tail(port);
}

/*******************************************************************************
* @brief  gui txt send start
* \param[in] port : com port
* \param[in] name : control name
* \retval: none
*******************************************************************************/
void gui_txt_start(com_obj_type *port, const char *name)
{
	port->fun->cycle_snd_string((uu8 *)name);
	port->fun->cycle_snd_byte('=');
	port->fun->cycle_snd_byte('\"');
}

/*******************************************************************************
* @brief  gui send txt val
* \param[in] port : com port
* \param[in] str  : value
* \retval: none
*******************************************************************************/
void gui_txt_add(com_obj_type *port, const char *str)
{
	port->fun->cycle_snd_string((uu8 *)str);
}

/*******************************************************************************
* @brief  gui send txt end
* \param[in] port : com port
* \retval: none
*******************************************************************************/
void gui_txt_end(com_obj_type *port)
{
	port->fun->cycle_snd_byte('\"');
	gui_tail(port);
}

/*******************************************************************************
* @brief  page set
* \param[in] port : com port
* \param[in] page : page
* \retval: none
*******************************************************************************/
void gui_page_set(com_obj_type *port, const char *page)
{
	port->fun->cycle_snd_string("page ");
	port->fun->cycle_snd_string((uu8 *)page);
	gui_tail(port);
}

